home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs16.d81
/
surviv.prg
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-11
|
15KB
|
472 lines
10 REM ************************
11 REM * *
12 REM * SURVIVE! *
15 REM * BY STEVE GRACE *
16 REM * (C) 1986 *
17 REM * ELECTRICAL *
18 REM * SOFTWARE *
19 REM * *
20 REM * COMPLETED 03/03/85 *
21 REM * LAST REV. 07/20/86 *
22 REM * VERSION 1.0 *
23 REM * *
25 REM ************************
90 GOTO9000
99 REM * PARSER *
100 GOSUB400
101 IFRVTHENRV=RV+1:IFRV=3ANDR=26THENR=27:GOTO8000
105 POKE198,0:C$="":PRINT">";:INPUT#1,C$:PRINT
107 IFC$="N"ORC$="NORTH"THENC$="GO NORTH"
108 IFC$="S"ORC$="SOUTH"THENC$="GO SOUTH"
109 IFC$="E"ORC$="EAST"THENC$="GO EAST"
110 IFC$="W"ORC$="WEST"THENC$="GO WEST"
111 IFC$="U"ORC$="UP"THENC$="GO UP"
112 IFC$="D"ORC$="DOWN"THENC$="GO DOWN"
113 IFC$="I"THENC$="INVENTORY"
114 IFC$="Q"ORC$="QUIT"THEN12000
115 IFC$="SAVE"THEN13000
116 IFC$="LOAD"THEN14000
117 Z$=C$:GOSUB900:IFZ$=""THEN100
118 C$="":FORI=1TOLEN(Z$):Z1$=MID$(Z$,I,1):C$=C$+CHR$(ASC(Z1$)AND127):NEXT
119 W=1:W1$="":W2$="":VT=0:OT=0
120 FORI=1TOLEN(C$)
130 IFW=1ANDMID$(C$,I,1)=" "THENW=2:GOTO160
140 IFW=1THENW1$=W1$+MID$(C$,I,1)
150 IFW=2THENW2$=W2$+MID$(C$,I,1)
160 NEXT
170 Z$=W1$:GOSUB900:W1$=Z$
180 Z$=W2$:GOSUB900:W2$=Z$
200 FORI=1TOV:IFW1$=V$(I)THENVT=V(I):I=V+1
205 NEXT
210 IFVTTHEN225
220 PRINT"[211]ORRY, [201] DON'T KNOW HOW TO '"W1$"'":PRINT"SOMETHING.":GOTO100
225 IFW2$=""THEN300
227 IFVT=15ORVT=16ORVT=19THEN300
230 FORI=1TOO:IFW2$=O$(I)THENOT=O(I):I=O+1
235 NEXT
240 IFOTTHEN300
250 PRINT"[201] DON'T KNOW WHAT A '"W2$"' IS.":GOTO100
300 IFVT=2ORVT=3ORVT=10ORVT=11ORVT=15ORVT=16ORVT=18ORVT=19THEN308
301 IFOT=0THEN7105
307 IFDKAND(VT<>1ANDVT<>5ANDVT<>6ANDVT<>15ANDVT<>16)THEN7520
308 DK=0
310 ONVTGOTO1100,1200,1300,1400,1500,1600,1700,1800,1900,2000
320 ONVT-10GOTO2100,2200,2300,2400,2500,2600,2700,2800,2900,3000
330 PRINT"[208]ROGRAM ERROR AT 330":GOTO12030
399 REM * LIGHTS OUT!
400 FORI=5TO6
410 IFS(I)THENS(I-3)=S(I-3)-1:IFS(I-3)=0THENS(I)=0:L(I)=0:ONI-4GOSUB7580,7590
420 NEXT
430 IFS(1)THENS(1)=S(1)-1:IFS(1)=0THENS(4)=0:PRINT"[217]OUR MATCH HAS BURNED OUT."
440 RETURN
899 REM * STRIP LEADING/TRAILING BLANKS
900 IFLEFT$(Z$,1)=" "THENZ$=MID$(Z$,2):GOTO900
910 IFRIGHT$(Z$,1)=" "THENZ$=LEFT$(Z$,LEN(Z$)-1):GOTO910
920 RETURN
1000 REM ** ACTION ROUTINES **
1099 REM * GO
1100 IF(OT=63AND(R(R)AND16))OR(OT=64AND(R(R)AND4))THEN7900
1105 IF(OT=67AND(R=5ORR=28))OR(OT=68ANDR=12)THEN7900
1107 IFR=13ANDOT=72THEN7900
1108 IF(R=23ORR=24)ANDOT=73THEN7900
1110 IFOT<50OROT>59THEN7000
1120 Z=A(R,OT-50):IFZ=0THEN7100
1130 R=Z:A=0
1190 GOTO7900
1199 REM * INVENTORY
1200 IFOTTHEN7000
1210 Z$="NOTHING."
1220 PRINT"[217]OU ARE CARRYING ";
1230 FORI=1TOT:IFL(I)<0THENPRINTTAB(17)I$(I);:Z$=""
1235 IFL(I)<0THENIF(I=5ORI=6)THENIFS(I)THENPRINT" (LIT)";
1237 IFL(I)<0THENPRINT
1240 NEXT:IFZ$>""THENPRINTZ$
1290 GOTO8000
1299 REM * LOOK
1300 IFDKTHEN7520
1310 REM IFOT=0THEN7540
1320 IFOT>49ANDOT<60THEN7000
1330 IFOT>0ANDOT<=T THENIFL(OT)>=0THEN7510
1340 GOTO1900:REM PATCH (LOOK=EXAMINE)
1380 GOTO7540
1399 REM * GET/TAKE
1400 IFOT>49ANDOT<60THEN7000
1420 IFOT=61AND(R(R)AND1)THEN7110
1430 IF(OT=62OROT=69OROT=70)AND(R(R)AND64)THEN7120
1440 IF(OT=63OROT=67)AND(R=5ORR=37ORR=28)THEN7130
1448 IFOT>TTHEN7000
1450 IFL(OT)<0THEN7200
1460 IFL(OT)<>RTHEN7210
1465 IFOT<>4GOTO1490
1470 I$(4)=STR$(M)+" MATCHES":I$(4)=MID$(I$(4),2):IFM=1THENI$(4)="1 MATCH"
1490 L(OT)=-1:GOTO7900
1499 REM * DROP
1500 IFOT>TTHEN7000
1520 IFOT=0THEN7105
1550 IFL(OT)>=0THEN7510
1580 IFOT=5OROT=6THENS(OT)=0
1590 L(OT)=R:GOTO7900
1599 REM * LIGHT
1600 IFOT<4OROT>6THEN7000
1615 IFL(OT)>=0THEN7510
1620 IFS(OT)THEN7300
1622 IFOT=6ANDS(4)=0THEN7110
1624 IFOT<>4THEN1690
1625 IFM=0THEN7310
1630 M=M-1:IFM=0THENL(4)=0
1635 I$(4)=STR$(M)+" MATCHES":I$(4)=MID$(I$(4),2):IFM=1THENI$(4)="1 MATCH"
1638 IF M=0THENPRINT"[212]HAT WAS YOUR LAST MATCH!":S(1)=2:S(4)=1:GOTO8000
1640 PRINT"[217]OU HAVE "I$(4)" LEFT.":S(1)=2:S(4)=1:GOTO8000
1690 S(OT)=1:GOTO7900
1699 REM * UNLIGHT
1700 IFOT<4OROT>6THEN7000
1715 IFL(OT)>=0THEN7510
1720 IFS(OT)=0THEN7305
1790 S(OT)=0:GOTO7900
1799 REM * READ
1800 IFOT=2ANDL(2)<0THEN7550
1810 IFOT=2THEN7510
1820 GOTO7000
1899 REM * EXAMINE
1900 IFR=37AND(OT=67OROT=0)ANDL(5)<0ANDS(5)=1THENL(4)=37:GOTO8000
1910 IFDKTHEN7520
1990 GOTO7540
1999 REM * SWIM
2000 IF(R=23ORR=24)ANDOT=73THEN7320
2010 IF(R(R)AND4)=0THEN7000
2020 IFOT<>64AND(OT<50OROT>59)THEN7000
2090 GOTO7530
2099 REM * DRINK
2100 IF(R=23ORR=24)ANDOT=73THEN7710
2110 IFOT<>0ANDOT<>61THEN7000
2120 IF(R(R)AND2)THEN7120
2130 IF(R(R)AND1)=0THEN7400
2190 GOTO7410
2199 REM * CLIMB
2200 IFOT<>65ANDOT<>66THEN7000
2220 IF(R(R)AND8)THEN7500
2290 GOTO7000
2299 REM * THROW
2300 IFOT>T THEN7000
2305 IFOT=0THEN7105
2310 IFL(OT)>=0THEN7510
2320 IFR=36THENR(R)=(R(R)AND191):A(36,3)=35:PRINT"[212]HE SNAKE SLITHERS AWAY!"
2380 IFOT=5OROT=6THENS(OT)=0
2390 L(OT)=R:GOTO7900
2399 REM * CROSS
2400 IFOT<>63ANDOT<>64THEN7000
2420 IFOT=64AND(R(R)AND4)THEN7530
2430 IFOT=63AND(R(R)AND16)THEN2450
2440 GOTO7000
2450 IFR=3THENR=6:GOTO7900
2460 IFR=6THENR=3:GOTO7900
2470 PRINT"[208]ROGRAM ERROR AT 2470":GOTO12030
2499 REM * SAY
2500 IFW2$>""THENPRINT""CHR$(34)W2$CHR$(34)
2590 GOTO8000
2599 REM * YELL/SCREAM
2600 IFW2$=""THENW2$="[197][197][197][197][197][197][197][197][197][203]"
2610 Z$=W2$:W2$="":FORI=1TOLEN(Z$):W2$=W2$+CHR$(ASC(MID$(Z$,I,1))OR128):NEXT
2615 W2$=W2$+"!"
2620 GOTO2500
2699 REM * KILL
2700 IFOT<>62ANDOT<>69ANDOT<>70THEN7000
2710 IF(R(R)AND64)=0THEN7210
2720 IF(OT=69ANDR<>16)OR(OT=70ANDR<>36)THEN7210
2730 GOTO7600
2799 REM * JUMP
2800 IFR=13ANDOT=72THENR=25:GOTO7610
2810 IFOT=0THEN7900
2820 IF((R=23ORR=24)ANDOT=73)OR(OT=64AND(R(R)AND4))THEN7720
2890 GOTO7000
2899 REM * CRY
2900 IFW2$=""THENW2$="WAAAHH!"
2910 GOTO2500
2999 REM * GRAB
3000 IFR=26ANDOT=71THENR=29:GOTO7900
3010 IFOT<=T THENIFL(OT)<1THEN7200
3020 IFOT<=T THENIFL(OT)<>RTHEN7210
3030 IFOT<=T THEN7570
3090 GOTO7000
6999 REM * PRINT MESSAGES
7000 PRINT"[201] DON'T UNDERSTAND.":GOTO100
7100 PRINT"[217]OU CAN'T GO THAT WAY.":GOTO100
7105 PRINT"[195]OULD YOU BE MORE SPECIFIC, PLEASE?":GOTO8000
7110 PRINT"[215]ITH WHAT?":GOTO100
7120 PRINT"[212]HAT WOULDN'T BE WISE.":GOTO100
7130 PRINT"[201]T'S FAR TOO HEAVY!":GOTO100
7200 PRINT"[217]OU ALREADY HAVE IT!":GOTO100
7210 PRINT"[212]HERE'S NO "W2$" HERE.":GOTO100
7300 PRINT"[201]T'S ALREADY LIT.":GOTO100
7305 PRINT"[201]T'S NOT LIT.":GOTO100
7310 PRINT"[217]OU'RE OUT OF MATCHES.":GOTO100
7320 PRINT"[217]OU CAN'T DO THAT.":GOTO100
7330 PRINT"[201]T'S ALREADY ON.":GOTO100
7400 PRINT"[212]HERE'S NO WATER HERE.":GOTO100
7410 PRINT"[193]HHH!!!!":GOTO100
7500 PRINT"[217]OU DON'T NEED TO DO THAT.":GOTO100
7510 PRINT"[217]OU DON'T HAVE A "W2$".":GOTO100
7520 PRINT"[201]T'S TOO DARK TO SEE!":GOTO100
7530 PRINT"[212]HE RIVER IS TOO FAST.":GOTO100
7540 PRINT"[217]OU SEE NOTHING SPECIAL.":GOTO8000
7550 PRINT"[217]OU DON'T NEED A COMPASS TO PLAY THIS ADVENTURE! [201]'LL TELL YOU ";
7560 PRINT"WHAT DIRECTIONS YOU CAN GO!":GOTO100
7570 PRINT"[196]ON'T BE GRABBY!":GOTO100
7580 PRINT"[212]HE BATTERIES IN YOUR FLASHLIGHT HAVE DIED. [217]OU THROW THE ";
7582 PRINT"FLASHLIGHT AWAY IN DISGUST.":RETURN
7590 PRINT"[212]HE STICK HAS BURNED UP. [217]OU DROP THE REMAINS BEFORE IT BURNS YOUR ";
7592 PRINT"HAND.":RETURN
7600 PRINT"[217]OU DON'T SEEM TO HAVE A WAY TO DO THAT.":GOTO100
7610 PRINT"[217]OU'VE LOST ALL YOUR POSSESSIONS!":FORI=1TOT:IFL(I)<0THENL(I)=0
7615 NEXT:S(5)=0:S(6)=0:GOTO8000
7710 PRINT"[212]HE WHOLE THING?[145]":GOTO7120
7720 PRINT"[201]T'S TOO FAR TO JUMP!":GOTO100
7900 PRINT"OK."
7999 REM * DISPLAY SURROUNDINGS
8000 PRINT""R$(R)
8008 IFR=34ORR=27THEN12030
8010 IF(R(R)AND32)ANDS(4)=0ANDS(5)=0ANDS(6)=0THEN DK=1:GOTO7520
8020 IFR=25THENR=26:PRINT"[217]OU'RE BEING SWEPT AWAY BY THE RIVER!":RV=1:GOTO8000
8100 Z$="":P=0:FORJ=0TO5:IFA(R,J)THENZ$=Z$+D$(J)+", "
8110 NEXT:IFZ$=""THEN8200
8120 Z$=LEFT$(Z$,LEN(Z$)-2):FORJ=LEN(Z$)TO1STEP-1:IFMID$(Z$,J,1)=","THENP=J:J=0
8122 NEXT:IFPTHENZ$=LEFT$(Z$,P-1)+" AND"+MID$(Z$,P+1)
8130 PRINT"[217]OU CAN GO "Z$"."
8200 Z$="":P=0:FORJ=1TOT:IFL(J)=RTHENZ$=Z$+I$(J)+", "
8210 NEXT:IFZ$=""THEN8310
8220 Z$=LEFT$(Z$,LEN(Z$)-2):FORJ=LEN(Z$)TO1STEP-1:IFMID$(Z$,J,1)=","THENP=J:J=0
8230 NEXT:IFPTHENZ$=LEFT$(Z$,P-1)+" AND"+MID$(Z$,P+1)
8240 Z1$="[217]OU SEE "+Z$+".":Z2$=""
8250 IFLEN(Z1$)<41THEN8300
8260 P=0:FORJ=40TO1STEP-1:IFMID$(Z1$,J,1)=" "THENP=J:J=0
8270 NEXT:Z2$=MID$(Z1$,P+1):Z1$=LEFT$(Z1$,P)
8300 PRINT""Z1$:IFZ2$>""THENPRINTZ2$
8310 IF(R(R)AND64)=0GOTO8990
8315 REM 1-SNAKE 2-BEAR 3-BAT
8320 A=3:IFR=36THENA=1
8330 IFR=16THENA=2
8340 ONAGOTO8350,8360,8390
8350 PRINT"[193] SNAKE BARS YOUR WAY TO THE WEST!":GOTO8990
8360 PRINT"[193] BEAR BLOCKS YOUR PATH TO THE NORTH!":A(16,0)=0
8370 IFS(6)THENPRINT"[212]HE BEAR RUNS FROM YOU!":A(16,0)=13
8380 GOTO8990
8390 PRINT"[212]HERE ARE BATS HERE."
8990 GOTO100
8999 REM * INITIALIZATION *
9000 POKE808,225:POKE53265,27:PRINTCHR$(14)CHR$(8):GOSUB15000:GOSUB10000
9001 V=22:O=29:T=6:R=37:M=3
9002 DIMV$(V),O$(O),V(V),O(O),R$(38),A(37,5),I$(T),S(6),L(T),D$(5),R(37)
9005 S(2)=40:S(3)=40
9010 FORI=1TOV:READV$(I):READV(I):NEXT
9020 FORI=1TOO:READO$(I):READO(I):NEXT
9030 FORI=1TO38:READR$(I):NEXT:R$(28)=R$(28)+R$(38):R$(38)=""
9040 FORI=1TO37:FORJ=0TO5:READA(I,J):NEXT:NEXT
9050 FORI=0TO5:READD$(I):NEXT
9060 FORI=1TOT:READI$(I):READL(I):NEXT
9070 FORI=1TO37:READR(I):NEXT
9400 OPEN1,0
9490 GOTO8000
9500 REM * VERBS/VERB TOKENS *
9502 DATAGO,1,INVENTORY,2,LOOK,3,GET,4,TAKE,4,DROP,5,LIGHT,6
9505 DATAUNLIGHT,7,READ,8,EXAMINE,9,SWIM,10,DRINK,11,CLIMB,12,THROW,13,CROSS,14
9506 DATASAY,15,YELL,16,SCREAM,16,KILL,17,JUMP,18,CRY,19,GRAB,20
9510 REM * OBJECTS/OBJECT TOKENS *
9512 DATANORTH,50,EAST,51,SOUTH,52,WEST,53,UP,54,DOWN,55
9513 DATAGOLD,1,BARS OF GOLD,1,BARS,1,COMPASS,2
9515 DATAMATCH,4,MATCHES,4,FLASHLIGHT,5,STICK,6,WATER,61,BATS,62
9516 DATABRIDGE,63,RIVER,64,MOUNTAIN,65,TREE,66,AIRPLANE,67,PLANE,67
9517 DATACAVE,68,BEAR,69,SNAKE,70,ROCK,71,ROCKS,71,HOLE,72,POOL,73
9600 REM * LOCATION DESCRIPTIONS *
9601 DATA"[217]OU ARE IN A FOREST. [212]O THE WEST IS A RAGING RIVER.
9602 [131]"(null)OU ARE IN A FOREST.
9603 DATA"[217]OU ARE IN A FOREST. [212]O THE SOUTH IS A BRIDGE OVER THE RIVER.
9604 [131]"(null)OU ARE IN A FOREST. (null)O THE WEST IS A RAGING RIVER.
9605 DATA"[217]OU ARE IN A FOREST. [212]O THE EAST IS A RIVER. [217]OUR AIRPLANE IS HERE.
9606 [131]"(null)OU ARE ON A TRAIL. (null)HE RIVER IS TO THEWEST; MOUNTAINS ARE EAST.
9607 DATA"[217]OU ARE IN A FOREST. [212]O THE WEST IS A RAGING RIVER.
9608 [131]"(null)OU ARE IN A MEADOW. (null)HE RIVER IS TO THE EAST.
9609 DATA"[217]OU ARE ON A TRAIL. [212]HE RIVER IS TO THEWEST; MOUNTAINS ARE EAST.
9610 [131]"(null)OU ARE IN A MEADOW. (null)O THE WEST AND SOUTH IS A RAGING RIVER.
9611 DATA"[217]OU ARE IN A MEADOW. [212]HE RIVER IS TO THE EAST AND SOUTH.
9612 [131]"VALND OF THE TRAIL. ATN CAVE IS HERE. (null)HE RIVER IS WEST; MOUNTAINS EAST.
9613 DATA"[212]HE FLOOR IS DAMP HERE...THERE IS A HOLETEN FEET ABOVE THE RIVER.
9614 [131]"(null)OU ARE IN A CAVE. (null)HE ENTRANCE IS ABOUT TWELVE FEET UP.
9615 DATA"[217]OU ARE IN A CAVE.
9616 [131]"(null)OU ARE IN A CAVE.
9617 DATA"[217]OU ARE IN A CAVE.
9618 [131]"(null)OU ARE IN A CAVE.
9619 DATA"[217]OU ARE IN A CAVE.
9620 [131]"(null)OU ARE IN A CAVE.
9621 DATA"[217]OU ARE IN A CAVE.
9622 [131]"(null)OU ARE IN A CAVE.
9623 DATA"[217]OU ARE IN A CAVE. [212]O THE EAST IS A POOL.
9624 [131]"(null)OU ARE IN A CAVE. (null)O THE WEST IS A POOL.
9625 DATA"[217]OU ARE IN A RAGING RIVER BEING SWEPT TOTHE EAST.
9626 [131]"(null)OU ARE IN A RIVER BEING SWEPT EASTWARD.(null)HERE ARE SOME ROCKS HERE.
9627 DATA"[207][200] [206][207]! [217][207][213]'[210][197] [199][207][201][206][199] [207][214][197][210] [193] [215][193][212][197][210][198][193][204][204]!!!
9628 [131]"(null)OU ARE IN MOUNTAINS. RIGHT$T'S STRAIGHT UP TO THE WEST, NORTH, AND EAST.
9629 DATA"[217]OU ARE ON A RIVERBANK. [201]T'S STRAIGHT UP BOTH EAST AND WEST.
9630 [131]"(null)OU'RE ABOVE A TRAIL. RIGHT$T'S STRAIGHT UP NORTH, EAST, AND WEST.
9631 DATA"[217]OU ARE IN THE MOUNTAINS. [201]T'S STRAIGHTUP TO THE WEST AND SOUTH.
9632 [131]"(null)OU ARE IN THE MOUNTAINS. RIGHT$T'S STRAIGHTUP TO THE SOUTH.
9633 DATA"[217]OU ARE IN THE MOUNTAINS. [201]T'S STRAIGHTUP TO THE EAST.
9634 [131]"(null)OU'RE ON A MOUNTAIN TOP...YOU'RE SEEN BY AN AIRPLANE...(null)(null)(null)'(null)VAL (null)ATN(null)VALSTR$!
9635 DATA"[217]OU ARE IN THE MOUNTAINS. [201]T'S STRAIGHTUP TO THE NORTH AND SOUTH.
9636 [131]"(null)OU ARE IN THE MOUNTAINS. RIGHT$T'S STRAIGHTUP TO THE SOUTH AND EAST.
9637 DATA"[217]OU ARE IN YOUR AIRPLANE.
9638 [131]" (null)HE WRECKAGE OF AN AIRPLANE IS HERE.
9700 REM * LOCATION ACCESS DATA *
9701 DATA0,0,4,0,0,0
9702 DATA0,3,5,0,0,0
9703 DATA0,0,6,2,0,0
9704 DATA1,5,7,0,0,0
9705 DATA2,0,8,4,37,0
9706 DATA3,0,9,0,0,0
9707 DATA4,8,10,0,0,0
9708 DATA5,0,11,7,0,0
9709 DATA6,0,12,0,0,0
9710 DATA7,11,0,0,0,0
9711 DATA8,0,0,10,0,0
9712 DATA9,0,0,0,0,14
9713 DATA0,0,16,0,0,25
9714 DATA0,15,0,0,12,0
9715 DATA0,0,18,14,0,0
9716 DATA0,0,19,0,0,17
9717 DATA0,18,0,0,0,0
9718 DATA15,0,21,17,0,0
9719 DATA16,0,22,0,0,0
9720 DATA0,21,23,0,0,17
9721 DATA18,0,24,20,0,0
9722 DATA19,23,0,0,0,0
9723 DATA20,0,0,22,0,0
9724 DATA21,0,0,0,0,0
9725 DATA0,0,0,0,0,0
9726 DATA0,0,0,0,0,0
9727 DATA0,0,0,0,0,0
9728 DATA0,0,31,0,0,0
9729 DATA0,0,32,0,0,0
9730 DATA0,0,33,0,0,12
9731 DATA28,32,0,0,0,0
9732 DATA29,33,0,31,0,0
9733 DATA30,0,36,32,0,0
9734 DATA0,0,0,0,0,0
9735 DATA0,36,0,34,0,32
9736 DATA33,0,0,0,0,0
9737 DATA0,0,0,0,0,5
9740 REM * DIRECTION DESCRIPTIONS *
9750 DATANORTH,EAST,SOUTH,WEST,UP,DOWN
9800 REM * ITEM DESCRIPTIONS *
9801 DATABARS OF GOLD,28
9802 DATAA COMPASS,37
9803 DATA?,0
9804 DATAMATCHES,0
9805 DATAA FLASHLIGHT,37
9806 DATAA STICK,3
9900 REM * LOCATION FLAGS *
9910 DATA13,8,29,13,13,29,13,5,13,5,5,13
9920 DATA0,0,32,96,32,96,32,96,96,96,34,34
9930 DATA5,5,0,8,8,8,8,8,8,0,8,72,0
9999 REM * INTRUCTIONS/INTRODUCTION
10000 GOSUB11000
10010 PRINT"[201]N THIS ADVENTURE GAME, YOU ISSUE COMMANDS TO THE COMPUTER ";
10015 PRINT"IN A TWO-WORD,"
10020 PRINT"VERB-OBJECT FORMAT, SUCH AS 'GO NORTH', 'GET TREASURE', ETC., ";
10025 PRINT"TO DIRECT YOUR CHARACTER THROUGH THE ADVENTURE."
10030 PRINT"[212]HE FOLLOWING ABBREVIATED COMMANDS ARE ACCEPTABLE:"
10035 PRINTTAB(10)"N GO NORTH"
10040 PRINTTAB(10)"S GO SOUTH"
10045 PRINTTAB(10)"E GO EAST"
10050 PRINTTAB(10)"W GO WEST"
10055 PRINTTAB(10)"U GO UP"
10060 PRINTTAB(10)"D GO DOWN"
10065 PRINTTAB(10)"I INVENTORY"
10070 PRINTTAB(10)"Q QUIT"
10080 PRINT"[217]OU MAY USE THE COMMANDS 'SAVE' AND"
10090 PRINT"'LOAD' TO SAVE/LOAD A GAME (DISK ONLY)."
10100 GOSUB11100:GOSUB11000
10110 PRINT"[193]S YOU LOOK OUT THE WINDOW OF YOUR PLANEYOU NOTICE HOW BEAUTIFUL ";
10115 PRINT"THE MOUNTAINS"
10120 PRINT"LOOK FROM UP HERE. [201]N LESS THAN TWO HOURS YOU'LL BE HOME, ";
10125 PRINT"BUT FOR RIGHT NOW"
10130 PRINT"YOU'RE CONTENT JUST TO TAKE IN THE BEAUTY OF THE SCENERY."
10140 PRINT"[211]UDDENLY IT OCCURS TO YOU THAT IF YOU TOOK A SHORTCUT HOME ";
10145 PRINT"FROM HERE YOU MIGHT";
10150 PRINT"BE ABLE TO SPOT THE PLANE THAT WENT DOWNNOT LONG AGO CARRYING A ";
10155 PRINT"FORTUNE IN GOLD."
10160 PRINT"[212]HAT ROUTE IS RARELY TAKEN, AS IT INVOLVES FLYING OVER ";
10165 PRINT"SOME EXTREMELY"
10170 PRINT"REMOTE TERRITORY, AND YOU'VE HEARD THE RUMORS ABOUT AIRCRAFT ";
10175 PRINT"DISAPPEARING WITHOUT A TRACE THERE, BUT YOU'RE"
10180 PRINT"FEELING ADVENTUROUS (AND THERE'S A VAST TREASURE AT STAKE) SO YOU ";
10185 PRINT"BANK YOUR"
10190 PRINT"PLANE ONTO THE NEW COURSE."
10200 GOSUB11100:GOSUB11000
10210 PRINT"[217]OU ARE LOST IN A DAYDREAM OF RECOVERINGTHE LOST GOLD WHEN YOU'RE";
10215 PRINT" JOLTED BACK TO";
10220 PRINT"REALITY BY YOUR ENGINE, WHICH SPUTTERS AND THEN DIES."
10230 PRINT"[217]OU'RE GOING TO CRASH!!"
10300 GOSUB11100:GOSUB11000
10310 PRINT"[217]OU'VE LANDED UNHURT IN A MEADOW, BUT THE PLANE HAS SKIDDED ";
10315 PRINT"INTO A FOREST, SO"
10320 PRINT"IT'S NOT VISIBLE FROM THE AIR."
10330 PRINT"[204]OOKS LIKE YOU'RE STUCK HERE...IT'S UP TO YOU NOW TO...[211][213][210][214][201][214][197]!"
10900 GOSUB11100:PRINT"[147]";:RETURN
11000 PRINT"[147] [211][213][210][214][201][214][197]! ":RETURN
11100 PRINT" [210][197][212][213][210][206][146] TO CONTINUE";:POKE198,0
11110 GETZ$:IFZ$<>CHR$(13)THEN11110
11120 RETURN
11999 REM * QUIT
12000 PRINT"[193]RE YOU SURE YOU WANT TO QUIT? (Y/N) ":POKE198,0
12010 GETZ$:IFZ$="N"GOTO8000
12020 IFZ$<>"Y"GOTO12010
12030 PRINT"[199]AME [207]VER."
12040 PRINT" F1[146] TO RESTART OR F7[146] TO EXIT TO [194][193][211][201][195]":POKE198,0
12050 GETZ$:IFZ$="[133]"THENRUN
12060 IFZ$="[136]"THENSYS64738
12070 GOTO12050
12999 REM * SAVE
13000 OPEN15,8,15
13005 F$=""
13010 INPUT"[211]AVE [198]ILE [206]AME";F$
13015 IFF$=""THEN13080
13020 OPEN2,8,2,"@0:"+F$+",S,W"
13030 INPUT#15,E1,E2$,E3,E4
13040 IFE1>19THENCLOSE2:PRINT"[197]RROR"E1;E2$;E3;E4:GOTO13005
13050 FORI=1TO6:PRINT#2,S(I):NEXT
13060 FORI=1TOT:PRINT#2,L(I):NEXT
13065 FORI=1TOT:PRINT#2,I$(I):NEXT
13070 FORI=1TO37:PRINT#2,R(I):NEXT
13072 FORI=1TO37:FORJ=0TO5:PRINT#2,A(I,J):NEXT:NEXT
13074 CR$=CHR$(13)
13075 PRINT#2,R;CR$;M;CR$;RV;CR$;DK
13080 CLOSE2:CLOSE15:GOTO100
13999 REM * LOAD
14000 OPEN15,8,15
14005 F$=""
14010 INPUT"[204]OAD [198]ILE [206]AME";F$
14015 IFF$=""THEN14080
14020 OPEN2,8,2,"0:"+F$+",S,R"
14030 INPUT#15,E1,E2$,E3,E4
14040 IFE1>19THENCLOSE2:PRINT"[197]RROR"E1;E2$;E3;E4:GOTO14005
14050 FORI=1TO6:INPUT#2,S(I):NEXT
14060 FORI=1TOT:INPUT#2,L(I):NEXT
14065 FORI=1TOT:INPUT#2,I$(I):NEXT
14070 FORI=1TO37:INPUT#2,R(I):NEXT
14072 FORI=1TO37:FORJ=0TO5:INPUT#2,A(I,J):NEXT:NEXT
14075 INPUT#2,R,M,RV,DK
14080 CLOSE2:CLOSE15:GOTO8000
14999 REM * TITLE SCREEN/COLOR SELECTION
15000 PRINT"[147]":POKE198,0
15010 PRINT""TAB(16)"[211][213][210][214][201][214][197]!"
15015 PRINTTAB(13)"BY [211]TEVE [199]RACE"
15016 PRINTTAB(6)"(C) 1986 [197]LECTRICAL [211]OFTWARE"
15020 PRINTTAB(12)"F1[146] [194]ORDER [195]OLOR"
15030 PRINTTAB(12)"F3[146] [194]ACKGROUND [195]OLOR"
15040 PRINTTAB(12)"F5[146] [212]EXT [195]OLOR"
15050 PRINTTAB(12)"F7[146] [211]TART [199]AME"
15060 GETZ$:IFZ$="[136]"THENRETURN
15070 IFZ$="[133]"THENPOKE53280,((PEEK(53280)AND15)+1)AND15
15080 IFZ$="[134]"THENPOKE53281,((PEEK(53281)AND15)+1)AND15
15090 IFZ$="[135]"THENPOKE646,((PEEK(646)AND15)+1)AND15:GOTO15010
15100 GOTO15060